import { checkAccount } from "@/api/after-sale/personnel/index";

/**
 * 账号校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export async function accountCheck (rule, value, callback) {
    console.log('rule', rule)
    if (!rule.required) {
        callback();
    }
    else if (value) {
        let data = await checkAccount(value);
        if (!data.success) {
            callback(data.message)
        } else {
            callback();
        }
    } else {
        callback("请输入账号名")
    }
}
/**
 * 密码强度校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function passwordCheck (rule, value, callback) {
    var regex = new RegExp(/(?=.*[0-9])(?=.*[a-zA-Z]).{8,}/);
    if (value) {
        // if (regex.test(value)) {
        //     callback();
        // } else {
        //     callback('密码至少8位且必须包含字母、数字')
        // }
        callback()
    } else {
        callback('请输入密码')
    }
}
/**
 * 常用邮箱校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function emialCheck (rule, value, callback) {
    var regex = new RegExp(/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/);
    if (value) {
        if (regex.test(value)) {
            callback();
        } else {
            callback('邮箱格式不正确')
        }
    } else {
        callback('请输入邮箱')
    }
}
/**
 * 身份证校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function idcardCheck (rule, value, callback) {
    var regex = new RegExp(/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/);
    if (value) {
        if (regex.test(value)) {
            callback();
        } else {
            callback('身份证格式不正确')
        }
    } else {
        callback('请输入身份证')
    }
}
/**
 * 手机号校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function phoneCheck (rule, value, callback) {
    if (value) {
        if (value.toString().length === 11) {
            callback()
        } else {
            callback('请输入正确的手机号')
        }
    } else {
        callback('请输入手机号')
    }
}

/**
 * 车牌号校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function isLicensePlate (rule, value, callback) {
    let regx = /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/;
    if (value) {
        if (regx.test(value)) {
            callback();
        } else {
            callback('请输入正确的车牌号')
        }
    } else {
        callback('请输入车牌号')
    }
}

/**
 * VIN车架号校验
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function VINCheck (rule, value, callback) {
    var regx = /^[A-HJ-NPR-Z\d]{17}$/;
    if (value) {
        if (regx.test(value)) {
            callback();
        } else {
            callback('请输入正确VIN码')
        }
    } else {
        callback('请输入VIN码')
    }
}

/**
 * 校验中文名称 2-4个汉字
 * @param {*} rule 
 * @param {*} value 
 * @param {*} callback 
 */
export function userNameCheck (rule, value, callback) {
    var regex = /[\u4e00-\u9fa5]{2,}/
    if (value) {
        if (regex.test(value)) {
            callback();
        } else {
            callback('请输入正确的姓名')
        }
    } else {
        callback('请输入')
    }
}